package main

import (
	"fmt"
	"grpc_server/service"
	"net"

	"google.golang.org/grpc"
)

func main() {
	rpcServer := grpc.NewServer()

	// 这个方法用于注册服务，接收两个参数
	// 第一个是rpcServer，就是上面grpc.NewServer()的返回
	// func RegisterProdServiceServer(s *grpc.Server, srv ProdServiceServer) {
	// 	s.RegisterService(&_ProdService_serviceDesc, srv)
	// }
	// 第二个是ProdServiceServer的实例，我们看一下ProdServiceServer是什么
	// ProdServiceServer is the server API for ProdService service.
	// type ProdServiceServer interface {
	// 	// 定义方法
	// 	GetProductStock(context.Context, *ProductRequest) (*ProductResponse, error)
	// }
	// 是一个接口，所以我们需要实现这个接口
	service.RegisterProdServiceServer(rpcServer, service.ProductServiceObj)
	listener, err := net.Listen("tcp", ":9000")
	if err != nil {
		panic(err)
	}
	err = rpcServer.Serve(listener)
	if err != nil {
		panic(err)
	}
	fmt.Println("GRPC启动成功……")
}
